﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MyUrnaVirtual.Models;
using MyUrnaVirtual.DataRepository;
using System.Data.Entity;

namespace MyUrnaVirtual.Controllers
{
    public class VotoController : Controller
    {
        //
        // GET: /Voto/
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(VotosViewModel model, int dni)
        {
            var db = new dbContext();
            Personas unaPersona = db.Personas.Find(dni);
            if (unaPersona.voto == false)
            {
                VotoRepository.Votar(model);
                unaPersona.voto = true;
                Editar(unaPersona);
                
                return RedirectToAction("Index");

            }

            return HttpNotFound();
        }

        public void Editar(Personas unaPersona)
        {
            AdminPersonasViewModel model = new AdminPersonasViewModel();
            model.Nombre = unaPersona.nombre;
            model.Apellido = unaPersona.apellido;
            model.Dni = unaPersona.dni;
            model.VotoRealizado = unaPersona.voto;

            AdminPersonasRepository.Editar(model);
            
        }

        public void ContarVotos(int idCandidato)
        {
            var db = new dbContext();
            int cantVotos = 0;
            List<Votos> listaVotos = db.Votos.ToList();
            for (int i = 0; i < listaVotos.Count(); i++)
            {
                if (listaVotos[i].Id_Candidato == idCandidato)
                {
                    cantVotos++;
                }
            }
            int porcentajeVotos = cantVotos / listaVotos.Count() * 100;

            AdminCandidatosViewModel model = new AdminCandidatosViewModel();
            model.cantVotos = porcentajeVotos;
            AdminCandidatosRepository.Editar(model);
            
        }
    }
}